package exception_test

object Demo {
  def main(args: Array[String]): Unit = {
    // scala的异常工作机制和java一样，但是scala没有“checked(编译时异常)”异常都是在运行时捕获处理
    // 例如java中Exception不能放在ArithmeticException前面scala可以
    try {
      var n = 10 / 0
      throw new Exception("异常")
    } catch {
      case e: ArithmeticException => println("ArithmeticException")
      case e: Exception => println("Exception")
    } finally {
      println("finally")
    }

    f11()
  }

  @throws(classOf[NumberFormatException]) // 等同于NumberFormatException.class
  def f11() = {
    "abc".toInt
  }
}
